﻿using System;
using System.Collections.Generic;
using System.Text;
using com.clinica.business.BE.actplansalud;
using com.clinica.business.entities;
using com.clinica.dao.sql;
/****************************************************************************************
 * Sistema    : Sistema de Gestión de Clinica
 * Modulo     : Facturación y Presupuestos
 * Descripción: 
 * Autor      : JPEREZ
 * Fecha      : 2011-06-01
 ****************************************************************************************/

namespace com.clinica.DL.sql.actplansalud
{
    public static class PlanSaludDL
    {
        public static List<PlanSaludBE> ObtenerSolicitudPlanSalud(PlanSaludBE oPlanSalud, DateTime dtFecha_Inicio, DateTime dtFecha_Fin)
        {
            List<PlanSaludBE> lst = new List<PlanSaludBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_BuscarSolictudPlaSalud_01";
            cmd.AddParameter("@TipoPlan", oPlanSalud.TipoSolicitud);
            cmd.AddParameter("@Fecha_Emision_Desde", dtFecha_Inicio.ToString("yyyyMMdd"));
            cmd.AddParameter("@Fecha_Emision_Fin", dtFecha_Fin.ToString("yyyyMMdd"));
            cmd.AddParameter("@NroSol", oPlanSalud.NumeroSolicitud);
            cmd.AddParameter("@Descripcion", oPlanSalud.Descripcion.Trim());
            lst = (List<PlanSaludBE>)ElManager.EjecutarStore<PlanSaludBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<PlanSaludBE> ObtenerSolicitudXEstadoPlanSalud(PlanSaludBE oPlanSalud, DateTime dtFecha_Inicio, DateTime dtFecha_Fin)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<PlanSaludBE> lst = new List<PlanSaludBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_BuscarXEstadoSolictudPlaSalud_07";
            cmd.AddParameter("@TipoPlan", oPlanSalud.TipoSolicitud);
            cmd.AddParameter("@Fecha_Emision_Desde", dtFecha_Inicio.ToString("yyyyMMdd"));
            cmd.AddParameter("@Fecha_Emision_Fin", dtFecha_Fin.ToString("yyyyMMdd"));
            cmd.AddParameter("@NroSol", oPlanSalud.NumeroSolicitud);
            cmd.AddParameter("@Descripcion", oPlanSalud.Descripcion.Trim());
            lst = (List<PlanSaludBE>)ElManager.EjecutarStore<PlanSaludBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<PlanSaludBE> ObtenerSolicitudPendientesPlanSalud(PlanSaludBE oPlanSalud, DateTime dtFecha_Inicio, DateTime dtFecha_Fin)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<PlanSaludBE> lst = new List<PlanSaludBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_BuscarXPendientesSolictudPlaSalud_08";
            cmd.AddParameter("@TipoPlan", oPlanSalud.TipoSolicitud);
            cmd.AddParameter("@Fecha_Emision_Desde", dtFecha_Inicio.ToString("yyyyMMdd"));
            cmd.AddParameter("@Fecha_Emision_Fin", dtFecha_Fin.ToString("yyyyMMdd"));
            cmd.AddParameter("@NroSol", oPlanSalud.NumeroSolicitud);
            cmd.AddParameter("@Descripcion", oPlanSalud.Descripcion.Trim());
            lst = (List<PlanSaludBE>)ElManager.EjecutarStore<PlanSaludBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<PlanSaludBE> ObtenerSolicitudPlanSaludOrigen(PlanSaludBE oPlanSalud)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<PlanSaludBE> lst = new List<PlanSaludBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_BuscarPlanSalud_02";
            cmd.AddParameter("@Codigo", oPlanSalud.CodigoPlanSalud);
            cmd.AddParameter("@Descripcion", oPlanSalud.DescripcionPlanSalud);
            lst = (List<PlanSaludBE>)ElManager.EjecutarStore<PlanSaludBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<PlanSaludBE> ObtenerSolicitudPlansalud(PlanSaludBE oPlan)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<PlanSaludBE> lst = new List<PlanSaludBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_ObtenerSolictudPlanSalud_05";
            cmd.AddParameter("@TipoDoc", oPlan.TipoSolicitud);
            cmd.AddParameter("@NroSol", oPlan.NumeroSolicitud);
            lst = (List<PlanSaludBE>)ElManager.EjecutarStore<PlanSaludBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<PlanSaludBE> ActualizarPlanSalud(int accion, string objxml)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<PlanSaludBE> lst = new List<PlanSaludBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_MantenimientoSolicituPlaSalud_06";
            cmd.AddParameter("@Accion", accion);
            cmd.AddParameter("@xml", (object)objxml);
            lst = (List<PlanSaludBE>)ElManager.EjecutarStore<PlanSaludBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<PlanSaludBE> ActualizarEstadoPlanSalud(PlanSaludBE obj)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<PlanSaludBE> lst = new List<PlanSaludBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_AprobarPlanSalud_09";
            cmd.AddParameter("@TipSolicitud", obj.TipoSolicitud);
            cmd.AddParameter("@NroSolicitud", obj.NumeroSolicitud);
            lst = (List<PlanSaludBE>)ElManager.EjecutarStore<PlanSaludBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<PlanSaludBE> AprobarPlanSalud(PlanSaludBE obj,int accion)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<PlanSaludBE> lst = new List<PlanSaludBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_ActualizaEstadoPlanSalud_08";
            cmd.AddParameter("@Accion", accion);
            cmd.AddParameter("@TipSolicitud", obj.TipoSolicitud);
            cmd.AddParameter("@NroSolicitud", obj.NumeroSolicitud);
            cmd.AddParameter("@NroPlan", obj.CodigoPlanSalud);
            lst = (List<PlanSaludBE>)ElManager.EjecutarStore<PlanSaludBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }



        public static List<PlanSaludBE> RechazarPlanSalud(PlanSaludBE obj)
        {
            /****************************************************************************************
                * Sistema    : Sistema de Gestión de Clinica
                * Modulo     : Facturación y Presupuestos
                * Descripción: Rechazar solicitud
                * Autor      : CROJAS
                * Fecha      : 2011-07-03
            ****************************************************************************************/



            List<PlanSaludBE> lst = new List<PlanSaludBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_Rechazar_PlanSalud";

            cmd.AddParameter("@TipSolicitud", obj.TipoSolicitud);
            cmd.AddParameter("@NroSolicitud", obj.NumeroSolicitud);

            lst = (List<PlanSaludBE>)ElManager.EjecutarStore<PlanSaludBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }

        public static List<PlanSaludBE> AnularPlanSalud(PlanSaludBE obj)
        {
            /****************************************************************************************
                * Sistema    : Sistema de Gestión de Clinica
                * Modulo     : Facturación y Presupuestos
                * Descripción: Rechazar solicitud
                * Autor      : CROJAS
                * Fecha      : 2011-07-03
            ****************************************************************************************/



            List<PlanSaludBE> lst = new List<PlanSaludBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_Anular_PlanSalud";

            cmd.AddParameter("@TipSolicitud", obj.TipoSolicitud);
            cmd.AddParameter("@NroSolicitud", obj.NumeroSolicitud);

            lst = (List<PlanSaludBE>)ElManager.EjecutarStore<PlanSaludBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }

        public static List<PlanSaludBE> ObtenerPlanSalud(PlanSaludBE oPlanSalud, DateTime dtFecha_Inicio, DateTime dtFecha_Fin)
        {
            List<PlanSaludBE> lst = new List<PlanSaludBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_BuscarPlaSalud_01";
            cmd.AddParameter("@Fecha_Emision_Desde", dtFecha_Inicio.ToString("yyyyMMdd"));
            cmd.AddParameter("@Fecha_Emision_Fin", dtFecha_Fin.ToString("yyyyMMdd"));
            cmd.AddParameter("@NroSol", oPlanSalud.NumeroSolicitud);
            cmd.AddParameter("@Descripcion", oPlanSalud.Descripcion.Trim());
            cmd.AddParameter("@CodCia", oPlanSalud.CodigoAseguradora);
            cmd.AddParameter("@CodEmpresa", oPlanSalud.CodigoEmpresa);
            lst = (List<PlanSaludBE>)ElManager.EjecutarStore<PlanSaludBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }

        public static List<PlanSaludBE> ObtenerPlanSaludConsulta(PlanSaludBE oPlan)
        {
            List<PlanSaludBE> lst = new List<PlanSaludBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_ObtenerPlanSalud_02";
            cmd.AddParameter("@NroSol", oPlan.NumeroSolicitud);
            lst = (List<PlanSaludBE>)ElManager.EjecutarStore<PlanSaludBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }


    }
}
